home *** CD-ROM | disk | FTP | other *** search
/ Brotikasten / BROTCD01.iso / lern / lern451.d64 / sound helper (.txt) < prev    next >
Commodore BASIC  |  1995-08-09  |  7KB  |  220 lines

  1. 1 REM  MICAH KORNBERG MAY 6,1983
  2. 4 REM  ************************************************************************
  3. 5 REM  ******* SCREEN LOCATION ************************************************
  4. 6 :SC=1024
  5. 10 REM **** SID LOCATION ******************************************************
  6. 12 :SID=54272
  7. 15 REM **** DIM ARRAY A AND S *************************************************
  8. 19 :DIM D(25),A(25)
  9. 20 REM **** READ ARRAY A (SCREEN LOCATION)************************************
  10. 25 :FOR I=0 TO 24:READ A(I):A(I)=A(I)+SC:NEXT I
  11. 30 REM **** SCREEN,BORDER AND CHARACTER COLOUR*********************************
  12. 35 :PRINT"[144]":POKE 53280,15:POKE 53281,15
  13. 40 REM **** SET DURATION OF SOUND *********************************************
  14. 45 :DU=255
  15. 50 REM **** PRINT INSTRUCTIONS ************************************************
  16. 55 :GOSUB 6000
  17. 60 REM **** SETUP SCREEN DISPLAY **********************************************
  18. 65 :GOSUB 100:GOSUB 1350:GOTO 2000
  19. 70 REM ************************************************************************
  20. 100 REM *** SCREEN SETUP ******************************************************
  21. 105 PRINT"[147]";
  22. 110 PRINT"             VOICE   (1)    (2)    (3)
  23. 130 [153]"FREQUENCY
  24. 140 PRINT"   (L)------------ A[146]      H[146]      O[146]
  25. 145 [153]""
  26. 160 [153]"   (H)------------ BWAIT      IWAIT      PWAIT
  27. 165 PRINT""
  28. 170 PRINT"VARIABLE PULSE
  29. 180 [153]"   (L)------------ CWAIT      JWAIT      QWAIT
  30. 185 PRINT""
  31. 200 PRINT"   (H)------------ D[146]      K[146]      R[146]
  32. 205 [153]""
  33. 210 [153]"CONTROL REGISTER-- EWAIT      LWAIT      SWAIT
  34. 220 PRINT"
  35. 230 [153]"ATTACK/DECAY------ FWAIT      MWAIT      TWAIT
  36. 240 PRINT"
  37. 250 [153]"SUSTAIN/RELEASE--- GWAIT      NWAIT      UWAIT
  38. 260 PRINT"[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]";
  39. 270 PRINT"FILTER FREQUENCY    (L) V[146]     (H) W[146]
  40. 280 [153]"
  41. 290 PRINT"RESONANCE/FILTER VOICES X[146]
  42. 300 [153]"
  43. 310 PRINT"PASSBAND/MASTER VOLUME  Y[146]
  44. 315 [142]
  45. 1000 [143] ** ROUTINE TO POKE TO SCREEN AND MEMORY ******************************
  46. 1030 N$[178][201]([196](D(N)),[195]([196](D(N)))[171]1)
  47. 1035 [129] I[178]0 [164] 2:[151] A(N)[170]I,32:[130] I
  48. 1040 [129] I[178]0 [164] [195](N$)[171]1
  49. 1050 [151] A(N)[170]I,[197]([202](N$,I[170]1,1))[170]48:[151] 54272[170]A(N)[170]I,0
  50. 1060 [130] I
  51. 1070 [151] SID[170]N,D(N)
  52. 1080 [142]
  53. 1100 [143] ** ROUTINE FOR VOICE 1,2, OR 3 ***************************************
  54. 1105 [139] D(N)[178]255 [167] D(N)[178]254
  55. 1110 D(N)[178]D(N)[170]1
  56. 1120 [151] SID[170]N,D(N)
  57. 1130 [129] I[178]1 [164] DU:[130] I
  58. 1140 D(N)[178]D(N)[171]1
  59. 1150 [151] SID[170]N,D(N)
  60. 1160 [142]
  61. 1200 [143] ** ROUTINE FOR VOICE 1,2AND 3 ****************************************
  62. 1205 [139] D(4)[178]255 [167] D(4)[178]254
  63. 1206 [139] D(11)[178]255 [167] D(11)[178]254
  64. 1207 [139] D(18)[178]255 [167] D(18)[178]254
  65. 1210 [151] SID[170]4,D(4)[170]1
  66. 1220 [151] SID[170]11,D(11)[170]1
  67. 1230 [151] SID[170]18,D(18)[170]1
  68. 1240 [129] I[178]1[164]DU:[130]I
  69. 1250 [151] SID[170]4,D(4)
  70. 1260 [151] SID[170]11,D(11)
  71. 1270 [151] SID[170]18,D(18)
  72. 1280 [142]
  73. 1300 [143] ** ROUTINE TO RESTART ************************************************
  74. 1310 [141] 1550
  75. 1320 [153]"PRESS YWAIT TO RESTART";
  76. 1330 [161]A$:[139]A$[178]""[167] 1330
  77. 1332 [141] 1550
  78. 1336 [153]"                    ";
  79. 1340 [139]A$[179][177]"Y"[167] 2000
  80. 1350 [129]N[178]0[164]24
  81. 1360 [151] SID[170]N,0
  82. 1370 D(N)[178]0
  83. 1380 [129] I[178]0 [164] 2:[151] A(N)[170]I,32:[151] 54272[170]A(N)[170]I,0:[130] I
  84. 1390 [151] A(N),48
  85. 1393 [130] N
  86. 1395 [142]
  87. 1400 [143] ** ROUTINE TO QUIT ***************************************************
  88. 1410 [141] 1550
  89. 1420 [153]"PRESS YWAIT TO QUIT       ";
  90. 1430 [161] A$:[139] A$[178]"" [167] [137] 1430
  91. 1435 [141] 1550
  92. 1437 [153]"                    ";
  93. 1440 [139] A$[179][177]"Y" [167] 2000
  94. 1450 [153]"LOAD":[128]
  95. 1500 [143] ** ROUTINE TO GOTO LINE 23 *******************************************
  96. 1510 [153]"";
  97. 1520 [153]"                                       ";
  98. 1530 [153]"";
  99. 1540 [142]
  100. 1550 [143] ** ROUTINE TO GOTO LINE 24 *******************************************
  101. 1560 [153]"";
  102. 1570 [153]"                                       ";
  103. 1580 [153]"";
  104. 1590 [142]
  105. 2000 [143] ** MAIN INPUT ROUTINE ************************************************
  106. 2010 [141] 1500:[141] 1550
  107. 2020 [153]"ENTER COMMAND     C:R:Q:I:F1:F3:F5:F7  ";
  108. 2030 [161] A$:[139] A$[178]"" [167] 2030
  109. 2040 [139] A$[178]"C" [167] [141] 3000
  110. 2050 [139] A$[178]"R" [167] [141] 1300
  111. 2060 [139] A$[178]"Q" [167] [141] 1400
  112. 2065 [139] A$[178]"I" [167] [141] 7000
  113. 2070 [139] A$[178]"INPUT" [167] N[178]4:[141] 1100
  114. 2080 [139] A$[178]"DIM" [167] N[178]11:[141] 1100
  115. 2090 [139] A$[178]"READ" [167] N[178]18:[141] 1100
  116. 2100 [139] A$[178]"LET" [167] [141] 1200
  117. 2110 [137] 2000
  118. 3000 [143] ** ROUTINE TO CHANGE VALUES ******************************************
  119. 3010 [141] 1550
  120. 3020 [153]"FOR WHICH LOCATION (A-Y)               ";
  121. 3030 [161] N$:[139] N$[178]"" [167] 3030
  122. 3035 [139] [198](N$)[179]65 [176] [198](N$)[177]89 [167] [137] 3030
  123. 3040 N[178][198](N$)[171]65
  124. 3050 [141] 1550
  125. 3060 [153]"CHANGE  ";N$;"WAIT  TO (0-255)           ";
  126. 3070 [141] 1500
  127. 3080 [141] 8000
  128. 3090 [139] D(N)[179]0 [176] D(N)[177]255 [167] [137] 3070
  129. 3100 [141] 1000
  130. 3110 [142]
  131. 5000 [131] 101,181,301,381,461,541,621
  132. 5010 [131] 108,188,308,388,468,548,628
  133. 5020 [131] 115,195,315,395,475,555,635
  134. 5030 [131] 706,716,786,866,0,0,0,0,0,0
  135. 6000 [143] ** INSTRUCTIONS ON HOW TO USE ****************************************
  136. 6010 [153]"LOAD";
  137. 6020 [153]"      SOUND  HELPER       "
  138. 6030 [153]""
  139. 6040 [153]"          BY MICAH KORNBERG"
  140. 6050 [129] I[178]1 [164] 2000:[130] I
  141. 6060 [153]"LOADINSTRUCTIONS FOR SOUND HELPER      CLOSE    WAIT";
  142. 6080 [153]"    THIS IS A VERY SIMPLE PROGRAM, THEREARE ONLY A FEW";
  143. 6090 [153]" THINGS YOU HAVE TO  KNOW TO BE ABLE TO OPERATE THIS PROGRAM ";
  144. 6100 [153]"AND  MAKE GREAT SOUNDS ON THE COMMODORE  64"
  145. 6110 [153]"
  146. 6120 PRINT"1.  EVERY LOCATION IN THE SID CHIP IS   REPRESENTED BY A LOCATION";
  147. 6130 PRINT" ON THE SCREEN  (A-Y) IN THAT ORDER (A EQUALING 54272)"
  148. 6140 PRINT"
  149. 6150 [153]"2.  THEREFORE YOU ARE ONLY ABLE TO PUT  THE NUMBERS 0-255 IN A";
  150. 6160 [153]" LOCATION"
  151. 6170 [153]"
  152. 6180 PRINT"3.  TO SEE A LIST OF ALL THE COMMANDS ATANY TIME (WITHOUT ANY";
  153. 6190 PRINT" EFFECT ON WHAT    YOU ARE DOING) PRESS THE LETTER 'I' ";
  154. 6200 PRINT"    (FOR INSTRUCTIONS)"
  155. 6210 PRINT"
  156. 6220 [153]"4.  FINALLY TO UNDERSTAND, AND BE ABLE  TO PUT THE RIGHT VALUE";
  157. 6230 [153]" IN THE APPRORIATELOCATION REFER TO THE COMMODORE 64";
  158. 6240 [153]"      REFERENCE MANUAL'S SECTION ON SOUND AND MUSIC"
  159. 6250 [153]"   HIT ANY KEY TO CONTINUE             ";
  160. 6260 [161] A$
  161. 6265 [139] A$[178]"" [167] [137] 6260
  162. 6270 [153]"LOAD      COMMAND   LIST                   WAIT"
  163. 6280 [153]"
  164. 6285 PRINT"
  165. 6290 [153]"   Q -- QUIT (EXIT) PROGRAM"
  166. 6300 [153]"
  167. 6310 PRINT"   R -- RESET ALL VALUES  (LOCATIONS)"
  168. 6320 PRINT"
  169. 6330 [153]"   I -- PRINTS THIS LIST"
  170. 6340 [153]"
  171. 6350 PRINT"   C -- CHANGE VALUE OF A SPECIFIC              LOCATION"
  172. 6360 PRINT"
  173. 6370 [153]"  F1 -- PLAY VOICE 1"
  174. 6380 [153]"
  175. 6390 PRINT"  F3 -- PLAY VOICE 2"
  176. 6400 PRINT"
  177. 6410 [153]"  F5 -- PLAY VOICE 3"
  178. 6420 [153]"
  179. 6430 PRINT"  F7 -- PLAY VOICE 1,2,3"
  180. 6440 PRINT"
  181. 6450 [153]" P.S. MASTER VOLUME IS FROM 1-15
  182. 6460 PRINT"    THE CONTROL REGISTER CONTAINS
  183. 6461 [153]"           16,32,64,OR 128 ONLY
  184. 6470 PRINT"       HIT ANY KEY TO CONTINUE         [146]"
  185. 6480 GET A$:IF A$="" THEN 6480
  186. 6490 RETURN
  187. 7000 REM ** ROUTINE FOR ON-LINE INSTRUCTIONS **********************************
  188. 7005 GOSUB 6270
  189. 7010 GOSUB 100
  190. 7020 FOR N=0 TO 25
  191. 7030 GOSUB 1000
  192. 7040 NEXT N
  193. 7050 RETURN
  194. 8000 REM ** GET ROUTINE FOR POKE VALUE ****************************************
  195. 8010 N$=""
  196. 8100 POKE SC+921+O,30
  197. 8110 GET A$
  198. 8120 POKE SC+921+O,158
  199. 8130 IF A$="" THEN 8100
  200. 8140 IF A$=CHR$(20) THEN O=0:GOSUB 8200
  201. 8170 IF A$=CHR$(13) THEN 8500
  202. 8180 IF ASC(A$)>47 AND ASC(A$)<58 THEN GOSUB  8600
  203. 8190 GOTO 8110
  204. 8200 REM ** GET ROUTINE FOR THE DEL KEY ***************************************
  205. 8210 N$=""
  206. 82